Presently when software content is delivered to an enterprise, the software contains rules for controlling the data on which the software operates and the data flow as well as the modifications that can be made to the software by a user or another third-party. The enterprise can use the software to implement a business process, such as ordering, invoicing and other processes. The software developer/provider typically provides rules that are delivered with a default definition or rule content. The rule content is represented by attributes that can be, for example, the result of a certain event occurs or a value equals a predetermined point and the like. The rule content may be changed by the software provider, for reasons such as issues related to a specific country, e.g., Germany or United States, or industry, e.g., petroleum or shipping. A rule can have a number of attributes. A third-party vendor, such as a software distributor or an installer and integrator of the software provided by the software provider, can also change the rule content by adding, deleting or changing an attribute. Ultimately, the customer will create and/or adopt rules that suit the customer's needs, which may include customized rules. The rule content can be changed by the developer, a second party, such as a vendor, or a third party, such as a customer, or other parties.
Presently these changes to the rule content may conflict with or contradict the default rule set delivered by the software provider and with any new content added by a second party and/or a third-party. This can result in the execution of rules that prevent the customer from manipulating data as the customer desires, or worse, termination of the application, which means the software may be unusable by the customer.
Changes to the rule content occur in two dimensions: the computer and time. Software and rule content are frequently updates with new releases (time based) due to changes over time in business requirements, legal changes, patches to fix latent errors in software and content. While in the computer environment, after rule content was change on various layers during the software and rule content distribution chain (i.e., delivery from developer to partner to ultimate customer) changes from higher layers (e.g., the changes in the new release) must not disturb the changes, either existing or newly released, in following layers when the changes from the higher layers are distributed to following layers.
Accordingly, there exists a need for a system and method for identifying and resolving rule conflicts or collisions, and merging the enhanced rules with previous rules.